<?php
Zend_Loader::loadClass('Application_Form');

class Application_Form_Lex extends Application_Form
{
	public $formDecorators = array(
			'FormElements',
			'Form',
			array('HtmlTag', array('tag' => 'div', 'id' => 'form-wrap')),
	);
	
	
	protected $_displaygroupDecorators = array(
    			'FormElements',
    			'Fieldset',
    );
	
	public function __construct() {
        parent::__construct();
        $this->_initForm();
    }

    private function _initForm()
    {

    	$this->_form->setAction('form/index')
    	->setMethod('post')
    	->setDecorators($this->formDecorators);
    	//$labelDecorator = $generale_campo1->getDecorator('Label');
    	//$labelDecorator->setTagClass('form_label_container');
    	
    	//********************Sono dentro il menu Generale**************************************************
    	
    	//Creo la prima area di testo
    	$generale_campo1 = new Zend_Form_Element_Textarea('Descrizione');
    	$generale_campo1->setLabel('Descrizione del progetto:')
    	->setOptions (array(
    			'rows' =>'10',
    			'cols' =>'30',
    	));
    	
    	//Creo la seconda area di testo
    	$generale_campo2 = new Zend_Form_Element_Textarea('Sito');
    	$generale_campo2->setLabel('Sito in (specificare l\'ubicazione)')
    	//da edificare nel terreno in cui si riportano gli
    	//estremi del censimento al N.C.T.):')
    	->setOptions (array(
    			'rows' =>'10',
    			'cols' =>'30',
    	));
    	
    	
    	//Creo il menu a tendina
    		$generale_campo3 = new Zend_Form_Element_Select('Ambito');
    	 $generale_campo3->setLabel('Ambito di intervento:')
    	->setMultioptions(array(
    			'1' => 'Edificio nuova costruzione...',
    			'2' => 'Ristrutt. integrale di edificio...',
    			'3' => 'Demoliz. e ricostr. di edificio...',
    			'4' => 'Ampliamento di edificio superiore al 20% esistente',
    			'5' => 'Ristrutt. totale o parziale...',
    			'6' => 'Nuova inst. o ristrutt. di imp.',
    			'7' => 'Sola sostituzione del generatore di calore',
    			'8' => 'Trasferimento a titolo oneroso',
    			'9'	=> 'Certificazione energetica in edificio esistente'
    	));
   
    	
    	//Creo primo campo di testo
    	$generale_campo4 = new Zend_Form_Element_Text('Committente');
    	$generale_campo4->setLabel('Committente(i)')
    	->setOptions(array('fname'));
    	//->setDecorators(array('viewhelper','Label'));
    	
    	//Creo secondo campo di testo
    	$generale_campo5 = new Zend_Form_Element_Text('Progettista');
    	$generale_campo5->setLabel('Progettista(i) degli impianti termici...')
    	->setOptions(array('fname'));
    	
    	//Creo terzo campo di testo
    	$generale_campo6 = new Zend_Form_Element_Text('Direttore');
    	$generale_campo6->setLabel('Direttore(i) degli impianti termici...')
    	->setOptions(array('fname'));
    	
    	//Creo il menu a tendina
    	$generale_campo7 = new Zend_Form_Element_Select('Metodo_di_calcolo');
    	$generale_campo7->setLabel('Metodo di calcolo della dispersione dovuta ai ponti termici:')
    	->setMultioptions(array(
    			'1' => 'Norma UNI EN ISO 14683 (analitico)',
    			'2' => 'UNI/TS 11300-1 (semplificato)',
    			'3' => 'Ponti termici corretti'
    	));
    	
    	
    	
    	
    	//*******************Sono dentro il menu EDIFICIO********************************************
    	
    	//Sono dentro EDIFICIO->DATI GENERALI
    	//Creo la prima area di testo
    	$edificio_datigen_campo1 = new Zend_Form_Element_Textarea('Descrizione2');
    	 $edificio_datigen_campo1->setLabel('Descrizione:')
    	->setOptions (array(
    			'rows' =>'10',
    			'cols' =>'30',
    	));
    	
    	//Creo primo campo di testo
    	$edificio_datigen_campo2 = new Zend_Form_Element_Text('Volume_lordo');
    	$edificio_datigen_campo2->setLabel('Volume lordo riscaldato [m^3]')
    	->setOptions(array('fname'));
    	
    	//Creo secondo campo di testo
    	$edificio_datigen_campo3 = new Zend_Form_Element_Text('Superficie');
    	$edificio_datigen_campo3->setLabel('Superficie che racchiude il volume lordo riscaldato [m^2]')
    	->setOptions(array('fname'));
    	
    	//Creo il menu a tendina
    	$edificio_datigen_campo4 = new Zend_Form_Element_Select('Categoria');
    	$edificio_datigen_campo4->setLabel('Categoria (D.P.R. 412/93):')
    	->setMultioptions(array(
    			'1' => 'E.1(1) collegi, case di pena, conventi e caserme',
    			'2' => 'E.1(1) esclusi collegi, case di pena, conventi e caserme',
    			'3' => 'E.1(2)',
    			'4' => 'E.1(3)',
    			'5' => 'E.2',
    			'6' => 'E.3',
    			'7' => 'E.4(1)',
    			'8' => 'E.4(2)',
    			'9'	=> 'E.4(3)',
    			'10'=> 'E.5',
    			'11'=> 'E.6(1)',
    			'12'=> 'E.6(2)',
    			'13'=> 'E.6(3)',
    			'14'=> 'E.7',
    			'15'=> 'E.8'
    	));
    	
    	//Creo terzo campo di testo
    	$edificio_datigen_campo5 = new Zend_Form_Element_Text('Numero_piani');
    	$edificio_datigen_campo5->setLabel('Numero dei piani riscaldati')
    	->setOptions(array('fname'));
    	
    	//Creo quarto campo di testo
    	$edificio_datigen_campo6 = new Zend_Form_Element_Text('Superficie_utile');
    	$edificio_datigen_campo6->setLabel('Superficie totale utile [m^2] ')
    	->setOptions(array('fname'));
    	
    	//Creo quinto campo di testo
    	$edificio_datigen_campo7 = new Zend_Form_Element_Text('Prestazione_energetica');
    	$edificio_datigen_campo7->setLabel('Prestazione energetica raggiungibile [kWh/m^3 anno]')
    	->setOptions(array('fname'));
    	
    	//********Sono dentro EDIFICIO->LOCALIT�->DATI GEOGRAFICI
    	//Creo la prima area di testo
    	$edificio_local_datgeo1 = new Zend_Form_Element_Text('Comune');
    	$edificio_local_datgeo1->setLabel('Comune')
    	->setOptions(array('size' =>'35'));
    	
    	//Creo la seconda area di testo
    	$edificio_local_datgeo2 = new Zend_Form_Element_Text('Provincia');
    	$edificio_local_datgeo2->setLabel('Provincia')
    	->setOptions(array('size' =>'35'));
    	
    	//Creo la terza area di testo
    	$edificio_local_datgeo3 = new Zend_Form_Element_Text('Altezza');
    	$edificio_local_datgeo3->setLabel('Altezza sul livello del mare [m]')
    	->setOptions(array('size' =>'35'));
    	
    	//Creo la quarta area di testo
    	$edificio_local_datgeo4 = new Zend_Form_Element_Text('Latitudine');
    	$edificio_local_datgeo4->setLabel('Latitudine')
    	->setOptions(array('size' =>'35'));
    	
    	//Creo la quinta area di testo
    	$edificio_local_datgeo5 = new Zend_Form_Element_Text('Longitudine');
    	$edificio_local_datgeo5->setLabel('Longitudine')
    	->setOptions(array('size' =>'35'));
    	
    	//********Sono dentro EDIFICIO->LOCALIT�->DATI CLIMATICI
    	//Creo la prima area di testo
    	$edificio_local_datclim1 = new Zend_Form_Element_Text('Gradi_Giorno');
    	$edificio_local_datclim1->setLabel('Gradi Giorno [GG]')
    	->setOptions(array('size' =>'35'));
    	
    	//Creo la seconda area di testo
    	$edificio_local_datclim2 = new Zend_Form_Element_Text('PeriodoRis');
    	$edificio_local_datclim2->setLabel('Periodo di riscaldamento [G]')
    	->setOptions(array('size' =>'35'));
    	
    	//Creo la terza area di testo
    	$edificio_local_datclim3 = new Zend_Form_Element_Text('Zona');
    	$edificio_local_datclim3->setLabel('Zona Climatica')
    	->setOptions(array('size' =>'35'));
    	
    	//Creo la quarta area di testo
    	$edificio_local_datclim4 = new Zend_Form_Element_Text('Temperatura_Ext');
    	$edificio_local_datclim4->setLabel('Temperatura esterna')
    	->setOptions(array('size' =>'35'));
    	
    	//********Sono dentro EDIFICIO->LOCALIT�->Venti
    	//Creo la prima area di testo
    	$edificio_local_venti1 = new Zend_Form_Element_Text('Velocita');
    	$edificio_local_venti1->setLabel('Velocità [m/s]')
    	->setOptions(array('size' =>'35'));
    	
    	//Creo la seconda area di testo
    	$edificio_local_venti2 = new Zend_Form_Element_Text('ZonaV');
    	$edificio_local_venti2->setLabel('Zona di vento')
    	->setOptions(array('size' =>'35'));
    	
    	//********Sono dentro EDIFICIO->LOCALIT�->Temperature e irradiazioni
    	//Creo la prima area di testo
    	$edificio_local_tempIrr = new Zend_Form_Element_Textarea('TempIrr');
    	$edificio_local_tempIrr->setLabel('Tabella temperature e irradiazioni');
    	$edificio_local_tempIrr->setDescription('Tabella temperature e irradiazioni')
    	->setOptions (array(
    			'rows' =>'10',
    			'cols' =>'30',
    	));
    	
    	
    	//Sono dentro EDIFICIO->DATI GEOMETRICI E TERMOFISICI->PLANIMETRIA
    	//Creo la prima area di testo
    	$edificio_dgt_planimetria = new Zend_Form_Element_Textarea('Plani');
    	$edificio_dgt_planimetria->setLabel('Immagine planimetria');
    	$edificio_dgt_planimetria->setDescription('Planimetria')
    	->setOptions (array(
    			'rows' =>'10',
    			'cols' =>'30',
    	));
    	
    	
    	//Sono dentro EDIFICIO->DATI GEOMETRICI E TERMOFISICI->ZONE TERMICHE->ZONE TERMICHE
    	//Creo la prima area di testo
    	$edificio_dgt_zt_zt = new Zend_Form_Element_Textarea('ZoneT');
    	$edificio_dgt_zt_zt->setLabel('Tabella zone termiche');
    	$edificio_dgt_zt_zt->setDescription('Zone Termiche')
    	->setOptions (array(
    			'rows' =>'10',
    			'cols' =>'30',
    	));
    	
    	//Sono dentro EDIFICIO->DATI GEOMETRICI E TERMOFISICI->ZONE TERMICHE->ZONE A TEMPERATURA COSTANTE
    	//Creo la prima area di testo
    	$edificio_dgt_zt_ztc = new Zend_Form_Element_Textarea('ZoneTC');
    	$edificio_dgt_zt_ztc->setLabel('Tabella zone a temperatura costante');
    	$edificio_dgt_zt_ztc->setDescription('ZoneTC')
    	->setOptions (array(
    			'rows' =>'10',
    			'cols' =>'30',
    	));
    	
    	//Sono dentro EDIFICIO->DATI GEOMETRICI E TERMOFISICI->ZONE TERMICHE->ZONE NON RISCALDATE
    	//Creo la prima area di testo
    	$edificio_dgt_zt_znr = new Zend_Form_Element_Textarea('ZoneNR');
    	$edificio_dgt_zt_znr->setLabel('Tabella zone non riscaldate');
    	$edificio_dgt_zt_znr->setDescription('ZoneNR')
    	->setOptions (array(
    			'rows' =>'10',
    			'cols' =>'30',
    	));
    	
    	//Sono dentro EDIFICIO->DATI GEOMETRICI E TERMOFISICI->STRUTTURE DISPERDENTI->STRUTTURE EDILIZIE
    	//Creo la prima area di testo
    	$edificio_dgt_sd_se = new Zend_Form_Element_Textarea('StruttureEd');
    	$edificio_dgt_sd_se->setLabel('Tabella strutture edilizie');
    	$edificio_dgt_sd_se->setDescription('StruttureEd')
    	->setOptions (array(
    			'rows' =>'10',
    			'cols' =>'30',
    	));
    	
    	//Sono dentro EDIFICIO->DATI GEOMETRICI E TERMOFISICI->STRUTTURE DISPERDENTI->PONTI TERMICI
    	//Creo la prima area di testo
    	$edificio_dgt_sd_pt = new Zend_Form_Element_Textarea('PontiT');
    	$edificio_dgt_sd_pt->setLabel('Tabella ponti termici');
    	$edificio_dgt_sd_pt->setDescription('PontiT')
    	->setOptions (array(
    			'rows' =>'10',
    			'cols' =>'30',
    	));
    	
    	//Sono dentro EDIFICIO->IMMAGINE DESCRITTIVA
    	//Creo la prima area di testo
    	$edificio_im = new Zend_Form_Element_Textarea('Image');
    	$edificio_im->setLabel('Immagine');
    	$edificio_im->setDescription('Image')
    	->setOptions (array(
    			'rows' =>'10',
    			'cols' =>'30',
    	));
    	
    	
    	
    	//Inserisco gli elementi nel form
    	$this->_form->addElement($generale_campo1)
    	->addElement($generale_campo2)
    	->addElement($generale_campo3)
    	->addElement($generale_campo4)
    	->addElement($generale_campo5)
    	->addElement($generale_campo6)
    	->addElement($generale_campo7)
    	->addElement($edificio_datigen_campo1)
    	->addElement($edificio_datigen_campo2)
    	->addElement($edificio_datigen_campo3)
    	->addElement($edificio_datigen_campo4)
    	->addElement($edificio_datigen_campo5)
    	->addElement($edificio_datigen_campo6)
    	->addElement($edificio_datigen_campo7)
    	->addElement($edificio_local_datgeo1)
    	->addElement($edificio_local_datgeo2)
    	->addElement($edificio_local_datgeo3)
    	->addElement($edificio_local_datgeo4)
    	->addElement($edificio_local_datgeo5)
    	->addElement($edificio_local_datclim1)
    	->addElement($edificio_local_datclim2)
    	->addElement($edificio_local_datclim3)
    	->addElement($edificio_local_datclim4)
    	->addElement($edificio_local_venti1)
    	->addElement($edificio_local_venti2)
    	->addElement($edificio_local_tempIrr)
    	->addElement($edificio_dgt_planimetria)
    	->addElement($edificio_dgt_zt_zt)
    	->addElement($edificio_dgt_zt_ztc)
    	->addElement($edificio_dgt_zt_znr)
    	->addElement($edificio_dgt_sd_se)
    	->addElement($edificio_dgt_sd_pt)
    	->addElement($edificio_im);
    	
    	$this->_form->setElementDecorators(array(
    			'viewHelper',
    			array(array('htmltag1' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-span')),
    			array('Label', array('tag' => 'div', 'tagClass' => 'form-span'))
    	));
    	
   	
    	//Creo il display group per Generale
    	$this->_form->addDisplayGroup(
    	 array(  'Descrizione',
    	 		'Sito',
    	 		'Ambito',
    	 		'Committente',
    	 		'Progettista',
    	 		'Direttore',
    	 		'Metodo_di_calcolo'),
    			'Generale',
    			array('disableLoadDefaultDecorators' => false)
    	);
    	$ds = $this->_form->getDisplayGroup('Generale')
    	->setLegend('Generale')
    	->setDecorators($this->_displaygroupDecorators)
    	->addDecorators(array(
    			array(array('f1' => 'HtmlTag'), array('tag' => 'div', 'id' => 'liv_1')),
    	));
    	
    	
    	//Creo il display group per Edificio-Dati generali
    	$this->_form->addDisplayGroup(
    			array(  'Descrizione2',
    					'Volume_lordo',
    					'Superficie',
    					'Categoria',
    					'Numero_piani',
    					'Superficie_utile',
    					'Prestazione_energetica'),
    			'Edificio',
    			array('disableLoadDefaultDecorators' => false)
    	);
    	$ds = $this->_form->getDisplayGroup('Edificio')
    	->setLegend('Edificio - Dati Generali ')
    	->setDecorators($this->_displaygroupDecorators)
    	->addDecorators(array(
    			array(array('f1' => 'HtmlTag'), array('tag' => 'div', 'id' => 'liv_2_1')),
    	));
    	
    	//Creo il display group per Edificio-Localit�-Dati geografici
    	$this->_form->addDisplayGroup(
    			array(  'Comune',
    					'Provincia',
    					'Altezza',
    					'Latitudine',
    					'Longitudine'),
    			'Dati_Geografici',
    			array('disableLoadDefaultDecorators' => false)
    	);
    	$ds = $this->_form->getDisplayGroup('Dati_Geografici')
    	->setLegend('Dati Geografici')
    	->setDecorators($this->_displaygroupDecorators)
    	->addDecorators(array(
    			array(array('f1' => 'HtmlTag'), array('tag' => 'div', 'id' => 'liv_2_2_1')),
    	));
    	
    	//Creo il display group per Edificio-Localit�-Dati climatici
    	$this->_form->addDisplayGroup(
    			array(  'Gradi_Giorno',
    					'PeriodoRis',
    					'Zona',
    					'Temperatura_Ext'),
    			'Dati_Climatici',
    			array('disableLoadDefaultDecorators' => false)
    	);
    	$ds = $this->_form->getDisplayGroup('Dati_Climatici')
    	->setLegend('Dati Climatici')
    	->setDecorators($this->_displaygroupDecorators)
    	->addDecorators(array(
    			array(array('f1' => 'HtmlTag'), array('tag' => 'div', 'id' => 'liv_2_2_2')),
    	));
    	
    	//Creo il display group per Edificio-Localit�-Venti
    	$this->_form->addDisplayGroup(
    			array(  'Velocita',
    					'ZonaV'),
    			'Venti',
    			array('disableLoadDefaultDecorators' => false)
    	);
    	$ds = $this->_form->getDisplayGroup('Venti')
    	->setLegend('Venti')
    	->setDecorators($this->_displaygroupDecorators)
    	->addDecorators(array(
    			array(array('f1' => 'HtmlTag'), array('tag' => 'div', 'id' => 'liv_2_2_3')),
    	));
    	
    	//Creo il display group per Edificio-Localit�-Temperature e Irradiazioni
    	$this->_form->addDisplayGroup(
    			array( 'TempIrr'),
    			'Temp',
    			array('disableLoadDefaultDecorators' => false)
    	);
    	$ds = $this->_form->getDisplayGroup('Temp')
    	->setLegend('Temperature e Irradiazioni')
    	->setDecorators($this->_displaygroupDecorators)
    	->addDecorators(array(
    			array(array('f1' => 'HtmlTag'), array('tag' => 'div', 'id' => 'liv_2_2_4')),
    	));
    	
    	//Creo il display group per Edificio-Dati geometrici e termofisici-Planimetria
    	$this->_form->addDisplayGroup(
    			array( 'Plani'),
    			'Planim',
    			array('disableLoadDefaultDecorators' => false)
    	);
    	$ds = $this->_form->getDisplayGroup('Planim')
    	->setLegend('Planimetria')
    	->setDecorators($this->_displaygroupDecorators)
    	->addDecorators(array(
    			array(array('f1' => 'HtmlTag'), array('tag' => 'div', 'id' => 'liv_2_3_1')),
    	));
    	
    	//Creo il display group per Edificio-Dati geometrici e termofisici-Zone Termiche- Zone termiche
    	$this->_form->addDisplayGroup(
    			array( 'ZoneT'),
    			'ZoneTe',
    			array('disableLoadDefaultDecorators' => false)
    	);
    	$ds = $this->_form->getDisplayGroup('ZoneTe')
    	->setLegend('Zone termiche')
    	->setDecorators($this->_displaygroupDecorators)
    	->addDecorators(array(
    			array(array('f1' => 'HtmlTag'), array('tag' => 'div', 'id' => 'liv_2_3_2')),
    	));
    	
    	//Creo il display group per Edificio-Dati geometrici e termofisici-Zone Termiche- Zone a temperatura costante
    	$this->_form->addDisplayGroup(
    			array( 'ZoneTC'),
    			'ZoneTeCo',
    			array('disableLoadDefaultDecorators' => false)
    	);
    	$ds = $this->_form->getDisplayGroup('ZoneTeCo')
    	->setLegend('Zone a temperatura costante')
    	->setDecorators($this->_displaygroupDecorators)
    	->addDecorators(array(
    			array(array('f1' => 'HtmlTag'), array('tag' => 'div', 'id' => 'liv_2_3_3')),
    	));
    	
    	//Creo il display group per Edificio-Dati geometrici e termofisici-Zone Termiche- Zone non riscaldate
    	$this->_form->addDisplayGroup(
    			array( 'ZoneNR'),
    			'ZoneNNR',
    			array('disableLoadDefaultDecorators' => false)
    	);
    	$ds = $this->_form->getDisplayGroup('ZoneNNR')
    	->setLegend('Zone non riscaldate')
    	->setDecorators($this->_displaygroupDecorators)
    	->addDecorators(array(
    			array(array('f1' => 'HtmlTag'), array('tag' => 'div', 'id' => 'liv_2_3_4')),
    	));
    	
    	//Creo il display group per Edificio-Dati geometrici e termofisici-Strutture Disperdenti-Strutture edilizie
    	$this->_form->addDisplayGroup(
    			array( 'StruttureEd'),
    			'StrutEd',
    			array('disableLoadDefaultDecorators' => false)
    	);
    	$ds = $this->_form->getDisplayGroup('StrutEd')
    	->setLegend('Strutture Edilizie')
    	->setDecorators($this->_displaygroupDecorators)
    	->addDecorators(array(
    			array(array('f1' => 'HtmlTag'), array('tag' => 'div', 'id' => 'liv_2_3_5_1')),
    	));
    	
    	//Creo il display group per Edificio-Dati geometrici e termofisici-Strutture Disperdenti-Ponti Termici
    	$this->_form->addDisplayGroup(
    			array( 'PontiT'),
    			'PontiTe',
    			array('disableLoadDefaultDecorators' => false)
    	);
    	$ds = $this->_form->getDisplayGroup('PontiTe')
    	->setLegend('Ponti Termici')
    	->setDecorators($this->_displaygroupDecorators)
    	->addDecorators(array(
    			array(array('f1' => 'HtmlTag'), array('tag' => 'div', 'id' => 'liv_2_3_5_2')),
    	));
    	
    	//Creo il display group per Edificio-Immagine descrittiva
    	$this->_form->addDisplayGroup(
    			array( 'Image'),
    			'Immagine',
    			array('disableLoadDefaultDecorators' => false)
    	);
    	$ds = $this->_form->getDisplayGroup('Immagine')
    	->setLegend('Immagine descrittiva')
    	->setDecorators($this->_displaygroupDecorators)
    	->addDecorators(array(
    			array(array('f1' => 'HtmlTag'), array('tag' => 'div', 'id' => 'liv_2_4')),
    	));
    	
    	
    	//
    	$this->_view->form = $this->_form->render($this->_view);
    }
}

